home *** CD-ROM | disk | FTP | other *** search
/ SGI Hot Mix 17 / Hot Mix 17.iso / HM17_SGI / research / resource / xprinter / ppds / hp4l.ps < prev    next >
Encoding:
PostScript Printer Description  |  1997-07-08  |  12.4 KB  |  373 lines

  1. *PPD-Adobe: "4.0"
  2. *% Adobe Systems PostScript(R) Printer Description File
  3. *% This is not the official PPD file for HPLaserJet 4L.
  4. *% It is edited by bristol because of the request from USL.
  5. *% Should the official PPD file be released, this one will replaced.
  6. *FormatVersion: "4.0"
  7. *FileVersion: "2.2"
  8. *PCFileName: "HP4L.PPD"
  9. *LanguageVersion: English
  10. *Product: "(HP LaserJet 4L)"
  11. *PSVersion: "(52.2) 0"
  12. *ModelName: "HP LaserJet 4L (C2003) PostScript Cartridge"
  13. *NickName: "HP LaserJet 4L PostScript Cartridge"
  14.  
  15. *% General Information and Defaults ===============
  16. *FreeVM: "264000"
  17. *LanguageLevel: "1"
  18. *ColorDevice: False
  19. *DefaultColorSpace: Gray
  20. *VariablePaperSize: False
  21. *FileSystem: False
  22. *Throughput: "8"
  23. *Password: "0"
  24. *ExitServer: "
  25.   count 0 eq {  % is the password on the stack?
  26.     true
  27.   }{
  28.     dup    % potential password
  29.     statusdict /checkpassword get exec not
  30.   } ifelse
  31.   {  %  if no password or not valid
  32.     (WARNING : Cannot perform the exitserver command.) =
  33.     (Password supplied is not valid.) =
  34.     (Please contact the author of this software.) = flush
  35.     quit
  36.   } if
  37.   serverdict /exitserver get exec
  38. "
  39. *End
  40. *Reset: "
  41.   count 0 eq {  % is the password on the stack?
  42.     true
  43.   }{
  44.     dup    % potential password
  45.     statusdict /checkpassword get exec not
  46.   } ifelse
  47.   {  %  if no password or not valid
  48.     (WARNING : Cannot reset printer.) =
  49.     (Password supplied is not valid.) =
  50.     (Please contact the author of this software.) = flush
  51.     quit
  52.   } if
  53.   serverdict /exitserver get exec
  54.   systemdict /quit get exec
  55.   (WARNING : Printer Reset Failed.) = flush
  56. "
  57. *End
  58.  
  59. *DefaultResolution: 300dpi
  60. *?Resolution: "
  61. save
  62.   initgraphics
  63.   0 0 moveto currentpoint matrix defaultmatrix transform
  64.   0 72 lineto currentpoint matrix defaultmatrix transform
  65.   3 -1 roll sub dup mul
  66.   3 1 roll exch sub dup mul
  67.   add sqrt round cvi
  68.   (          ) cvs print (dpi) = flush
  69. restore
  70. "
  71. *End
  72.  
  73. *OpenUI *Smoothing/RET: PickOne
  74. *OrderDependency: 50 AnySetup *Smoothing
  75. *DefaultSmoothing: Medium
  76. *Smoothing None/Off: "0 statusdict /setdoret get exec"
  77. *Smoothing Light: "1 statusdict /setdoret get exec"
  78. *Smoothing Medium: "2 statusdict /setdoret get exec"
  79. *Smoothing Dark: "3 statusdict /setdoret get exec"
  80. *?Smoothing: "
  81. save
  82.   [(None)(Light)(Medium)(Dark)(Unknown)] statusdict /doret get exec
  83.   dup 3 gt{pop 4}if get = flush
  84. restore
  85. "
  86. *End
  87. *CloseUI: *Smoothing
  88.  
  89. *% Halftone Information ===============
  90. *ScreenFreq: "60.0"
  91. *ScreenAngle: "45.0"
  92. *DefaultScreenProc: Dot
  93. *ScreenProc Dot: "
  94. {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1
  95. sub }{dup mul exch dup mul add 1 exch sub }ifelse }
  96. "
  97. *End
  98. *ScreenProc Line: "{ pop }"
  99. *ScreenProc Ellipse: "
  100.   { dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }
  101. "
  102. *End
  103.  
  104. *DefaultTransfer: Null
  105. *Transfer Null: "{ }"
  106. *Transfer Null.Inverse: "{ 1 exch sub }"
  107.  
  108. *% Paper Handling ===================
  109. *% Use these entries to set paper size most of the time, unless there is
  110. *% specific reason to use PageRegion.
  111. *OpenUI *PageSize: PickOne
  112. *OrderDependency: 30 AnySetup *PageSize
  113. *DefaultPageSize: Letter
  114. *PageSize Letter: "statusdict /lettertray get exec"
  115. *PageSize Legal: "statusdict /legaltray get exec"
  116. *PageSize Executive: "statusdict /executivetray get exec"
  117. *PageSize A4: "statusdict /a4tray get exec"
  118. *PageSize B5: "statusdict /b5tray get exec"
  119. *PageSize Comm10/Comm #10 Envelope: "statusdict /com10envelopetray get exec"
  120. *PageSize Monarch/Monarch Envelope: "statusdict /monarcenvelopetray get exec"
  121. *PageSize DL/DL Envelope: "statusdict /dlenvelopetray get exec"
  122. *PageSize C5/C5 Envelope: "statusdict /c5envelopetray get exec"
  123. *?PageSize: "
  124. save
  125. 8 dict
  126.   dup /lettertray (Letter) put
  127.   dup /legaltray (Legal) put
  128.   dup /executivetray (Executive) put
  129.   dup /a4tray (A4) put
  130.   dup /b5tray (B5) put
  131.   dup /com10envelopetray (Comm10) put
  132.   dup /monarcenvelopetray (Monarch) put
  133.   dup /dlenvelopetray (DL) put
  134.   dup /c5envelopetray (C5) put
  135.   statusdict /papersize get exec
  136.   3 1 roll  {get} stopped {(Unknown)}if
  137.   exch  not { print (.Transverse) }if
  138.   = flush
  139. restore
  140. "
  141. *End
  142. *CloseUI: *PageSize
  143.  
  144. *% These entries will set up the frame buffer. Usually used with manual feed.
  145. *OpenUI *PageRegion: PickOne
  146. *OrderDependency: 40 AnySetup *PageRegion
  147. *DefaultPageRegion: Letter
  148. *PageRegion Letter: "letter"
  149. *PageRegion Legal: "legal"
  150. *PageRegion Executive: "executivepage"
  151. *PageRegion A4: "a4"
  152. *PageRegion B5: "b5"
  153. *PageRegion Comm10/Comm #10 Envelope: "com10envelope"
  154. *PageRegion Monarch/Monarch Envelope: "monarcenvelope"
  155. *PageRegion DL/DL Envelope: "dlenvelope"
  156. *PageRegion C5/C5 Envelope: "c5envelope"
  157. *CloseUI: *PageRegion
  158.  
  159. *% The following entries provide information about specific paper keywords.
  160. *DefaultImageableArea: Letter
  161. *ImageableArea Letter: "18 19 593 774 "
  162. *ImageableArea Legal: "18 19 593 990 "
  163. *ImageableArea Executive: "18 19 501 738 "
  164. *ImageableArea A4: "18 19 578 824 "
  165. *ImageableArea B5:"18 19 505 713"
  166. *ImageableArea Comm10/Comm #10 Envelope: "18 19 278 666 "
  167. *ImageableArea Monarch/Monarch Envelope: "18 19 259 522 "
  168. *ImageableArea DL/DL Envelope: "18 19 294 605 "
  169. *ImageableArea C5/C5 Envelope: "18 19 440 630 "
  170. *?ImageableArea: "
  171. save
  172.   /cvp {(                ) cvs print ( ) print } bind def
  173.   /upperright {10000 mul floor 10000 div} bind def
  174.   /lowerleft {10000 mul ceiling 10000 div} bind def
  175.   newpath clippath pathbbox
  176.   4 -2 roll exch 2 {lowerleft cvp} repeat
  177.   exch 2 {upperright cvp} repeat flush
  178.  restore
  179. "
  180. *End
  181.  
  182. *% These provide the physical dimensions of the paper (by keyword)
  183. *DefaultPaperDimension: Letter
  184. *PaperDimension Letter: "612 792"
  185. *PaperDimension Legal: "612 1008"
  186. *PaperDimension Executive: "522 756"
  187. *PaperDimension A4: "595 842"
  188. *PaperDimension B5: "516 729"
  189. *PaperDimension Comm10/Comm #10 Envelope: "297 684"
  190. *PaperDimension Monarch/Monarch Envelope: "279 540"
  191. *PaperDimension DL/DL Envelope: "312 624"
  192. *PaperDimension C5/C5 Envelope: "459 649"
  193.  
  194. *RequiresPageRegion All: True
  195. *LandscapeOrientation: Plus90
  196. *OpenUI *InputSlot: PickOne
  197. *OrderDependency: 20 AnySetup *InputSlot
  198. *DefaultInputSlot: Cassette
  199. *InputSlot Cassette: "0 statusdict /setpapertray get exec"
  200. *?InputSlot: "
  201. save
  202.    [ (Cassette) ] statusdict /papertray get exec
  203.    {get exec} stopped { pop pop (Unknown)} if = flush
  204. restore
  205. "
  206. *End
  207. *CloseUI: *InputSlot
  208.  
  209. *OpenUI *ManualFeed: Boolean
  210. *OrderDependency: 20 AnySetup *ManualFeed
  211. *DefaultManualFeed: False
  212. *ManualFeed True: "statusdict /manualfeed true put"
  213. *ManualFeed False: "statusdict /manualfeed false put"
  214. *?ManualFeed: "
  215. save
  216.   statusdict /manualfeed get {(True)}{(False)}ifelse = flush
  217. restore"
  218. *End
  219. *CloseUI: *ManualFeed
  220.  
  221. *DefaultOutputOrder: Normal
  222.  
  223. *OpenUI *TraySwitch: Boolean
  224. *OrderDependency: 50 AnySetup *TraySwitch
  225. *DefaultTraySwitch: False
  226. *TraySwitch True: "true statusdict /settrayswitch get exec"
  227. *TraySwitch False: "false statusdict /settrayswitch get exec"
  228. *?TraySwitch: "
  229. save
  230.   statusdict /trayswitch get exec {(True)}{(False)}ifelse = flush
  231. restore
  232. "
  233. *End
  234. *CloseUI: *TraySwitch
  235.  
  236. *% Font Information =====================
  237. *DefaultFont: Courier
  238. *Font AvantGarde-Book: Standard "(001.002)" Standard ROM
  239. *Font AvantGarde-BookOblique: Standard "(001.002)" Standard ROM
  240. *Font AvantGarde-Demi: Standard "(001.003)" Standard ROM
  241. *Font AvantGarde-DemiOblique: Standard "(001.003)" Standard ROM
  242. *Font Bookman-Demi: Standard "(001.001)" Standard ROM
  243. *Font Bookman-DemiItalic: Standard "(001.001)" Standard ROM
  244. *Font Bookman-Light: Standard "(001.001)" Standard ROM
  245. *Font Bookman-LightItalic: Standard "(001.001)" Standard ROM
  246. *Font Courier: Standard "(002.002)" Standard ROM
  247. *Font Courier-Bold: Standard "(002.002)" Standard ROM
  248. *Font Courier-BoldOblique: Standard "(002.002)" Standard ROM
  249. *Font Courier-Oblique: Standard "(002.002)" Standard ROM
  250. *Font Helvetica: Standard "(001.002)" Standard ROM
  251. *Font Helvetica-Bold: Standard "(001.002)" Standard ROM
  252. *Font Helvetica-BoldOblique: Standard "(001.002)" Standard ROM
  253. *Font Helvetica-Narrow: Standard "(001.002)" Standard ROM
  254. *Font Helvetica-Narrow-Bold: Standard "(001.002)" Standard ROM
  255. *Font Helvetica-Narrow-BoldOblique: Standard "(001.002)" Standard ROM
  256. *Font Helvetica-Narrow-Oblique: Standard "(001.002)" Standard ROM
  257. *Font Helvetica-Oblique: Standard "(001.002)" Standard ROM
  258. *Font NewCenturySchlbk-Bold: Standard "(001.006)" Standard ROM
  259. *Font NewCenturySchlbk-BoldItalic: Standard "(001.004)" Standard ROM
  260. *Font NewCenturySchlbk-Italic: Standard "(001.003)" Standard ROM
  261. *Font NewCenturySchlbk-Roman: Standard "(001.004)" Standard ROM
  262. *Font Palatino-Bold: Standard "(001.002)" Standard ROM
  263. *Font Palatino-BoldItalic: Standard "(001.002)" Standard ROM
  264. *Font Palatino-Italic: Standard "(001.002)" Standard ROM
  265. *Font Palatino-Roman: Standard "(001.001)" Standard ROM
  266. *Font Symbol: Special "(001.003)" Special ROM
  267. *Font Times-Bold: Standard "(001.002)" Standard ROM
  268. *Font Times-BoldItalic: Standard "(001.004)" Standard ROM
  269. *Font Times-Italic: Standard "(001.002)" Standard ROM
  270. *Font Times-Roman: Standard "(001.002)" Standard ROM
  271. *Font ZapfChancery-MediumItalic: Standard "(001.003)" Standard ROM
  272. *Font ZapfDingbats: Special "(001.002)" Special ROM
  273. *?FontQuery: "
  274. save
  275.  /str 100 string dup 0 (fonts/) putinterval def
  276.  {
  277.    count 1 gt
  278.    {
  279.      exch dup str 6 94 getinterval cvs
  280.      (/) print print (:) print
  281.      FontDirectory exch known
  282.      {(Yes)}{(No)} ifelse =
  283.    }
  284.    {exit} ifelse
  285.  }bind loop
  286.  (*) = flush
  287. restore
  288. "
  289. *End
  290.  
  291. *?FontList: "
  292. save
  293.   FontDirectory { pop == } bind forall flush
  294.   (*) = flush
  295. restore
  296. "
  297. *End
  298.  
  299. *% Printer Messages (verbatim from printer):
  300. *Message: "%%[ exitserver: permanent state may be changed ]%%"
  301. *Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
  302. *Message: "\FontName\ not found, using Courier"
  303.  
  304. *% Status (format: %%[ status: <one of these> ]%% )
  305. *Status: "idle"
  306. *Status: "busy"
  307. *Status: "waiting"
  308. *Status: "printing"
  309. *Status: "PrinterError: Out Of Paper"
  310. *Status: "PrinterError: Cover Open"
  311. *Status: "PrinterError: Feed Manual"
  312. *Status: "PrinterError: Paper Jam"
  313. *Status: "PrinterError: Miscellaneous Error"
  314. *Status: "PrinterError: Fatal Error"
  315.  
  316. *% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
  317. *Source: "serial9"
  318. *Source: "serial25"
  319. *Source: "AppleTalk"
  320. *Source: "Centronics"
  321.  
  322. *% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
  323. *PrinterError: "Out Of Paper"
  324. *PrinterError: "Cover Open"
  325. *PrinterError: "Feed Manual"
  326. *PrinterError: "Paper Jam"
  327. *PrinterError: "Miscellaneous Error"
  328. *PrinterError: "Fatal Error"
  329.  
  330. *%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
  331.  
  332. *% Color Separation Information =====================
  333.  
  334. *DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
  335.  
  336. *InkName: ProcessBlack/Process Black
  337. *InkName: CustomColor/Custom Color
  338. *InkName: ProcessCyan/Process Cyan
  339. *InkName: ProcessMagenta/Process Magenta
  340. *InkName: ProcessYellow/Process Yellow
  341.  
  342. *%  For 60 lpi / 300 dpi  ===============================
  343.  
  344. *ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
  345. *ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
  346. *ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
  347. *ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
  348. *ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
  349.  
  350.  
  351. *ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
  352. *ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
  353. *ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
  354. *ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60"
  355. *ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
  356.  
  357. *%  For 53 lpi / 300 dpi  ===============================
  358.  
  359. *ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  360. *ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  361. *ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
  362. *ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
  363. *ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"
  364.  
  365. *ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  366. *ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  367. *ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  368. *ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  369. *ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"
  370.  
  371. *% For "HP LaserJet IV" 
  372. *% end of PPD file for HP LaserJet III
  373.